package com.gxa.inter;

import java.util.List;
import java.util.Map;

import com.gxa.entity.ConfigEntity;
import com.gxa.entity.CredentialsEntity;
import com.gxa.entity.TargetEntity;
import com.gxa.entity.TaskEntity;
import com.gxa.entity.TaskInfoEntity;
import com.gxa.entity.UserEntity;

public interface OpenvasToolInter {


	List<Map<String, Object>> getPortList() throws Exception;

	Map<String, Object> getOnePortListRanges(String portId) throws Exception;

	void createPortRanges(String portId,String type,String start,String end) throws Exception;

	void createPortList(String name,String comment,String port_range) throws Exception;

	void deletePortRanges(String portrangeId) throws Exception;

	void deletePortList(String portId) throws Exception;

	void modifyPortList(String portId,String name,String comment) throws Exception;

	List<TargetEntity> getTargetList() throws Exception;

	TargetEntity getOneTarget(String targetId) throws Exception;

	void createTarget(TargetEntity target) throws Exception;

	void deleteTarget(String targetId) throws Exception;

	void modifyTarget(TargetEntity target) throws Exception;

	List<TaskInfoEntity> getTasksList() throws Exception;

	TaskInfoEntity getOneTask(String taskId) throws Exception;

	void createTask(TaskEntity task) throws Exception;

	String startTask(String taskId) throws Exception;

	String startWizardTask(String host) throws Exception;

	void stopTask(String taskId) throws Exception;

	void deleteTask(String taskId) throws Exception;

	List<ConfigEntity> getConfigList() throws Exception;

	void createUser(String userName) throws Exception;

	void authenticateUser(UserEntity user) throws Exception;

	void deleteUser(UserEntity user) throws Exception;

	Map<String,Object> getReport(String reportId) throws Exception;

	Map<String,Object> getReportResult(String resultId) throws Exception;

	void createCredentials(CredentialsEntity credentials) throws Exception;

	List<CredentialsEntity> getCredentialsList() throws Exception;

	CredentialsEntity getOneCredential(String cId) throws Exception;

	void modifyCredentials(CredentialsEntity credentials) throws Exception;

	void deleteCredentials(CredentialsEntity credentials) throws Exception;
}
